.fc {
    font-size: inherit;
    margin-top: 1px;
    background: var(--background-color);
}

.fc .fc-cell-shaded, .fc .fc-day-disabled {
    background: var(--component-border-color);
}

.fc-h-event, .fc-v-event, .fc-daygrid-event {
    background-color: var(--component-background-color);
    border: 1px solid var(--component-border-color);
}

.fc-daygrid-block-event .fc-event-time, .fc-daygrid-block-event .fc-event-title, .fc-daygrid-dot-event {
    padding: 2px 3px;
}

.event-highlight {
    background-color: var(--selection-color);
    border: 1px solid var(--focused-cell-border-color);
}

.fc-h-event .fc-event-main, .fc-v-event .fc-event-main {
    color: var(--text-color);
}

.fc .fc-timegrid .fc-col-header {
    border-right: 1px solid var(--grid-separator-border-color);
}

.fc .fc-timegrid .fc-daygrid-body {
    border-right: 1px solid var(--grid-separator-border-color);
}

.fc .fc-timegrid-body {
    border-right: 1px solid var(--grid-separator-border-color);
}

.fc .fc-timegrid-divider {
    padding: 0 0 1px;
}

.fc-timegrid-event {
    font-size: inherit;
}

.fc-timegrid-event .fc-event-time {
    font-size: inherit;
}

.fc-timegrid-event .fc-event-main {
    padding: 0 3px;
}

.fc-timegrid-event-harness-inset .fc-timegrid-event, .fc-timegrid-event.fc-event-mirror {
    box-shadow: none;
}

.fc-event:hover {
    background-color: var(--component-background-color);
}

.event-highlight:hover { /* should come after .fc-event:hover */  
    background-color: var(--selection-color);
}

.fc .fc-scrollgrid {
    background: var(--component-background-color);
    border: 1px solid var(--component-border-color);
    border-radius: var(--table-border-radius);
}

.fc-scrollgrid-section-header {
    background: var(--background-color);
}

.fc-theme-standard th, .fc-theme-standard td {
    border-width: 1px 0 0 1px;
    border-style: solid;
    border-color: var(--grid-separator-border-color);
}

.fc-theme-standard th {
    border-bottom: 1px solid var(--grid-separator-border-color);
}

.fc-daygrid-dot-event .fc-event-title {
    color: var(--text-color);
    font-weight: normal;
}

.fc .fc-toolbar-title {
    font-weight: normal;
    font-size: inherit;
}

.fc .fc-toolbar.fc-header-toolbar {
    margin-bottom: 5px;
}

.fc table {
    font-size: inherit;
}

.fc .fc-col-header-cell-cushion {
    font-weight: normal;
    color: var(--text-color);
}

.fc .fc-col-header-cell-cushion:hover {
    text-decoration: none;
}

a.fc-daygrid-day-number, a.fc-daygrid-day-number:hover {
    color: var(--text-color);
}

.fc .fc-button {
    height: 22px;
    padding: 0 14px;
    font-size: inherit;
    tab-index: 0;
}

.fc .fc-button .fc-icon {
    vertical-align: initial;
    font-size: inherit;
}

.fc .fc-button:disabled {
    opacity: 1;
}

.fc .fc-button:focus {
    box-shadow: none;
}

.fc .fc-button-primary {
    background: var(--component-background-color);
    border: 1px solid var(--component-border-color);
    border-radius: var(--button-border-radius);
    cursor: pointer;
    color: var(--text-color);
}

.fc .fc-button-primary:focus {
    background-color: var(--selection-color);
    border: 1px solid var(--focus-color);
}

.fc .fc-button-primary:hover {
    background-color: var(--button-hover-background-color);
    color: var(--text-color);
}

.fc .fc-button-primary:hover:not(focus) { /* we want focus to have higher priority than hover*/
    border: 1px solid var(--component-hover-border-color);
}

.fc .fc-button-primary:active { /* should come after ':hover' and ':focus' */
    background-color: var(--button-active-background-color);
}

.fc .fc-button-primary:disabled {
    cursor: default;
    color: var(--disabled-text-color);
    background: var(--component-background-color);
    border: 1px solid var(--component-border-color);
}

.fc .fc-button-primary:disabled:hover {
    background: var(--background-color);
}

.fc .fc-button-primary:not(:disabled):active, .fc .fc-button-primary:not(:disabled).fc-button-active {
    background-color: var(--selection-color);
    color: var(--text-color);
    border-color: var(--component-border-color);
    cursor: default;
}

.fc .fc-button-primary:not(:disabled):active:focus, .fc .fc-button-primary:not(:disabled).fc-button-active:focus {
    box-shadow: none;
}

.fc .fc-button-primary:not(:disabled):active:hover, .fc .fc-button-primary:not(:disabled).fc-button-active:hover {
    background: var(--background-color);
    border: 1px solid var(--focus-color);
}

.fc-daygrid-event {
    font-size: inherit;
}

.fc-daygrid-block-event .fc-event-time {
    font-weight: normal;
}

.fc-direction-ltr .fc-daygrid-event .fc-event-time {
    flex: 0 0 auto;
    margin-right: 0;
}

.fc .fc-daygrid-day-number {
    text-decoration: none;
    padding: 3px 4px;
}

.fc-direction-ltr .fc-daygrid-event .fc-event-time {
    color: var(--text-color);
}

.fc .fc-daygrid-day-bottom {
    font-size: inherit;
    margin: 4px 3px 0;
}

.fc .fc-daygrid-more-link {
    font-size: inherit;
    color: var(--text-color);
}

.fc .fc-popover {
    background-color: var(--background-color);
    border: 1px solid var(--dialog-outer-border-color);
    border-radius: var(--panel-border-radius);
}

.fc .fc-popover-header {
    color: var(--text-color);
    background-color: var(--dialog-border-color);
    border-bottom: 1px solid var(--dialog-outer-border-color);
    padding: 2px 4px;
}

.fc .fc-more-popover .fc-popover-body {
    min-width: 170px;
}

.fc .panelRendererValue {
    box-sizing: unset;
}
